<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<title>Uthernet network cards</title>
		<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
	</head>
	<body style="FONT-FAMILY: verdana; BACKGROUND-COLOR: rgb(255,255,255)" alink="#008000"
		link="#008000" vlink="#008000">
		<h2 style="COLOR: rgb(0,128,0)">Uthernet network cards</h2>
		<hr size="4">
		<p style="FONT-WEIGHT: bold">Overview:
		</p>
		<P>The Uthernet network cards coupled with the Contiki OS allow you to browse the
			internet on your Apple.</P>
		<P style="FONT-WEIGHT: bold">Acknowledgment:
		</P>
		<P>Uthernet (TFE) support in AppleWin was made possible by implementing the GPL
			source written by Spiro Trikaliotis for the Vice emulator - <a target="_blank" href="http://vice-emu.sourceforge.net/index.html#developers">
				http://vice-emu.sourceforge.net/index.html#developers</a></P>
		<P><a target="_blank" href="https://a2retrosystems.com/">Uthernet II</a> support in AppleWin has been contributed by Andrea (audetto) Odetti.</P>
		<P style="FONT-WEIGHT: bold">Details:
		</P>
		<P>To enable ethernet support in AppleWin you must first download and install 
			Npcap (or WinPcap).
		</P>
		<P>An alternative to downloading Npcap is to get the Wireshark package which 
			includes Npcap along with Wireshark network analyzer code. To use Wireshark to 
			capture traffic (other than your own) you must be plugged into a shared hub vs 
			a switch. If you plan on doing any network programming Wireshark is a definite 
			must have.
		</P>
		<P>Npcap: <A target="_blank" href="https://nmap.org/npcap/#download">https://nmap.org/npcap/#download</A> 
			or Wireshark: <A target="_blank" href="https://www.wireshark.org">https://www.wireshark.org</A> 
			(or WinPcap: <A target="_blank" href="https://www.winpcap.org/install/default.htm">https://www.winpcap.org/install/default.htm</A>)
		</P>
		<P>After AppleWin starts, select the settings icon and then select the ethernet 
			settings button.
		</P>
		<P>Uthernet will be disabled. Select Uthernet or Uthernet II from the list of available ethernet
			emulations.
		</P>
		<P>Select the ethernet interface you want to work with. This must be a physical 
			ethernet interface.
		</P>
		<P>If you have more than one interface you may need to select them in turn in order 
			to get the text description for each interface vs what Npcap likes to use for 
			a reference.
		</P>
		<P><span style="font-weight: bold;">Note:</span> Wireless does not work 
			with WinPcap (but see <A href="uthernet-wifi-workaround.html">WiFi Workaround</A>).
		</P>
		<P>In order to test the ethernet emulation out you should grab a copy of Contiki 
			for the Apple II here - <A target="_blank" href="http://www.a2retrosystems.com/downloads.htm">http://www.a2retrosystems.com/downloads.htm</A>
		</P>
		<P>Grab the 80 Col. Primary Disk and Supplementary Disk images if using Apple //e 
			emulation or the 40 Col versions if running Apple II+ emulation. You should 
			also grab a copy of the Uthernet/Contiki getting started guide <A target="_blank" href="http://www.a2retrosystems.com/a2UtherManual.pdf">
				http://www.a2retrosystems.com/a2UtherManual.pdf</A>
		</P>
		<P>Select the contiki80pri.dsk image. Boot AppleWin.
		</P>
		<P>Once Contiki is loaded then press Enter to clear the welcome screen and press 
			ESC for a menu.
		</P>
		<P>Choose Directory Application and then select configuration edit program. Tab 
			down to the Slot param and change it to '3'. The emulation only works in slot 
			3.
		</P>
		<P>If you do not have DHCP support in your local Lan then setup your static IP 
			address information here as well. Save and exit. If you have DHCP support in 
			your local lan then press ESC and choose Directory Application again, and then 
			select DHCP client.
		</P>
		<P>Hit enter on request Address and you should see the IP information updated. 
			Close the window and then press ESC again.
		</P>
		<P>Select the web browser and hit Enter a couple of times. Adam Dunkels web site 
			should show up if things are working properly.
		</P>
		<P>Try a few other web sites if the first one isn't working in case it is 
			temporarily down.
		</P>
		<P>You may also need to configure/disable your firewall if you are having problems.
		</P>
		<P style="FONT-WEIGHT: bold">Troubleshooting:
		</P>
		<P>If you have ZoneAlarm running then try disabling it inorder to access the web. 
			(If you are still having difficulty then you could try referring to the VICE network 
			support page for additional information, now archived <A target="_blank" href="https://github.com/AppleWin/AppleWin/blob/master/docs/VICE%20Knowledge%20Base%20-%20Article%2013-005.htm">
			here</A>.)</P>
		<P style="FONT-WEIGHT: bold">Uthernet II:
		</P>
		<P>Most features of the Uthernet II are emulated, with the following caveats:
			<ul>
				<li>PPPoE, interrupts and SPI are not implemented</li>
				<li>server side is not well tested</li>
				<li>after loading a save-state file, TCP and UDP sockets are closed</li>
			</ul>
		</P>
		<P>The card implements a <A target="_blank" href="https://github.com/a2retrosystems/uthernet2/wiki/Virtual-W5100-with-DNS">Virtual DNS</A>
			interface (not found on real hardware) for Apple II software to run without raw sockets: this allows operation on any type of network.
		</P>
		<P>Note that the Apple II application must be virtual W5100-aware (currently as of early 2024 the only application that supports this is <A target="_blank" href="https://github.com/oliverschmidt/A2Stream">A2Stream</A>). AppleWin will utilise DNS offloading when both AppleWin is configured to use "Virtual DNS" and the Apple II application enables the W5100 for the "Virtual DNS" mode.
		</P>
		<P>Enabling AppleWin for "Virtual DNS" and using with Apple II applications that don't support this is harmless (but you won't get any benefit).
		</P>
		<P>AppleWin's W5100 emulation returns the following depending on whether AppleWin's "Virtual DNS" is checked or not:
			<li>Checked (default): W5100 register 0x28 returns 0x00 (so Apple II applications can use this to detect the virtual W5100 has virtual DNS support).</li>
			<li>Unchecked: W5100 register 0x28 returns 0x28 (ie. the emulated W5100 behaves like a real W5100).</li>
		</P>
		</body>
</html>
